package com.peas.platform.module.icims.expenditure.initialize.adapter.repository.po;

import java.util.*;
import java.math.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.common.core.annotation.Comment;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.*;

// 额度下达初始数据
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_expenditure_init_quota`")
public class ExpenditureInitQuotaPo extends BasePo {

    // 指标单ID
    // （指标单表）外键
    @Comment(value = "指标单ID")
    @TableField(value = "`expenditure_kpi_id`", jdbcType = JdbcType.BIGINT)
    private Long expenditureKpiId;

    // 额度下达单编码
    // 自动生成
    @Comment(value = "额度下达单编码")
    @Size(max = 100, message = "额度下达单编码不能超过100个字符")
    @TableField(value = "`quota_code`", jdbcType = JdbcType.VARCHAR)
    private String quotaCode;

    // 日期
    @Comment(value = "日期")
    @TableField(value = "`quota_date`", jdbcType = JdbcType.TIMESTAMP)
    private Date quotaDate;

    // 预算指标
    @Comment(value = "预算指标")
    @Size(max = 200, message = "预算指标不能超过200个字符")
    @TableField(value = "`kpi`", jdbcType = JdbcType.VARCHAR)
    private String kpi;

    // 组织架构(部门)ID
    // （组织架构表）外键
    @Comment(value = "组织架构(部门)ID")
    @TableField(value = "`submit_organization_id`", jdbcType = JdbcType.BIGINT)
    private Long submitOrganizationId;

    // 用户ID
    // （用户表）外键
    @Comment(value = "用户ID")
    @TableField(value = "`submit_user_id`", jdbcType = JdbcType.BIGINT)
    private Long submitUserId;

    // 额度下达初始化金额
    @Comment(value = "额度下达初始化金额")
    @TableField(value = "`amount`", jdbcType = JdbcType.DECIMAL)
    private BigDecimal amount;

    // 财政项目ID
    // （财政项目表）多级外键
    @Comment(value = "财政项目ID")
    @Size(max = 200, message = "财政项目ID不能超过200个字符")
    @TableField(value = "`expenditure_fiscal_id`", jdbcType = JdbcType.VARCHAR)
    private String expenditureFiscalId;

    // 摘要
    @Comment(value = "摘要")
    @TableField(value = "`summary`", jdbcType = JdbcType.CLOB)
    private String summary;

}
